c032e94bb9a7e948b19d7ad6cfa6c3e9c79d554f,src/main/java/com/myapp/repository/UserRepositoryImpl.java,UserRepositoryImpl,findFollowers,#User#User#Optional#Optional#number#,61
Before Change
)
.orderBy(qRelationship.id.desc())
.limit(Optional.ofNullable(maxSize).orElse(20))
.fetch();
return getRelatedUserDTOs(userStatsExpression, followers);
}
@Override
After Change
final ConstructorExpression<UserStats> userStatsExpression =
UserStatsQueryHelper.userStatsExpression(qUser, currentUser);
return queryFactory.select(qUser, qRelationship, userStatsExpression)
.from(qUser)
.innerJoin(qUser.followerRelations, qRelationship)
.where(qRelationship.followed.eq(user)
.and(sinceId.map(qRelationship.id::gt).orElse(null))
.and(maxId.map(qRelationship.id::lt).orElse(null))
)
.orderBy(qRelationship.id.desc())
.limit(Optional.ofNullable(maxSize).orElse(20))
.fetch()
.stream()
.map(row -> RelatedUserDTO.builder()
.user(row.get(qUser))
.relationship(row.get(qRelationship))